package com.vehiclemanagement.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vehiclemanagement.entity.Driver;

import java.util.List;

/**
 * 驾驶员服务接口
 */
public interface DriverService extends IService<Driver> {
    
    /**
     * 分页查询驾驶员信息
     * 
     * @param current 当前页
     * @param size 每页大小
     * @param searchTerm 搜索条件
     * @param status 状态
     * @param includeDeleted 是否包含已删除
     * @return 分页数据
     */
    IPage<Driver> pageDrivers(Integer current, Integer size, String searchTerm, String status, Boolean includeDeleted);
    
    /**
     * 根据ID获取驾驶员信息
     * 
     * @param id 驾驶员ID
     * @return 驾驶员信息
     */
    Driver getDriverById(Long id);
    
    /**
     * 添加驾驶员
     * 
     * @param driver 驾驶员信息
     * @return 是否成功
     */
    boolean addDriver(Driver driver);
    
    /**
     * 更新驾驶员
     * 
     * @param driver 驾驶员信息
     * @return 是否成功
     */
    boolean updateDriver(Driver driver);
    
    /**
     * 删除驾驶员
     * 
     * @param id 驾驶员ID
     * @return 是否成功
     */
    boolean deleteDriver(Long id);
    
    /**
     * 获取所有部门列表
     * 
     * @return 部门列表
     */
    List<String> getDepartments();
} 